package cn.exrick.xboot.base.vo

import cn.exrick.xboot.core.common.constant.CommonConstant
import cn.exrick.xboot.core.common.utils.NameUtil
import com.fasterxml.jackson.annotation.JsonFormat
import io.swagger.annotations.ApiModelProperty
import org.springframework.format.annotation.DateTimeFormat
import java.util.*
import javax.validation.constraints.NotNull
import javax.validation.constraints.Pattern
import javax.validation.constraints.Size

data class SecurityAdvisorInfoVo(

        var id: String? = null,

        @ApiModelProperty(value = "用户名/昵称/姓名")
        var nickname: @NotNull(message = "不能为空") @Size(max = 20, message = "昵称长度不能超过20") String? = null,

        @ApiModelProperty(value = "性别")
        var sex: String? = null,

        @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "生日")
        var birth: Date? = null,

        @ApiModelProperty("简介")
        var introduction: String? = null,

        @ApiModelProperty(value = "用户头像")
        var avatar: String? = CommonConstant.USER_DEFAULT_AVATAR,

        @ApiModelProperty("自拍照")
        var selfPicList: List<String>? = null,

        @ApiModelProperty("自拍照")
        var selfPic: String? = null,

        @ApiModelProperty("微信号")
        var weChatNum: String? = null,

        @ApiModelProperty("安全顾问专业信息 逗号隔开")
        var businessIds: String? = null,

        @ApiModelProperty("安全专业列表")
        var businessNameList: List<String>? = null,

        @ApiModelProperty("所属机构名称")
        var organizationName: String? = null,

        @ApiModelProperty(value = "手机")
        var mobile: @Pattern(regexp = NameUtil.regMobile, message = "11位手机号格式不正确") String? = null,

        @ApiModelProperty(value = "邮箱")
        var email: @Pattern(regexp = NameUtil.regEmail, message = "邮箱格式不正确") String? = null,

        @ApiModelProperty(value = "区域id")
        var areaId: String? = null,

        @ApiModelProperty("详细信息")
        var addressDetail: String? = null,

        @ApiModelProperty("角色名")
        var roleName: String? = null
)